package v1

import (
	"github.com/google/uuid"
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf-demo-user/v2/internal/model/entity"
)

type CompanyReq struct {
	g.Meta   `path:"/company/{Company_id}" method:"get" tags:"CompanyService" summary:"检索特定公司的信息"`
	Company_id uuid.UUID `v:"required" in:"path"`
}
type CompanyPostReq struct {
	g.Meta   `path:"/company" method:"post" tags:"CompanyService" summary:"创建公司相关数据"`
	Name string      `v:"required"`
	Description string  `v:"required"`
	Industry string     `v:"required"`
	Tag string      `v:"required"`
	Address string  `v:"required"`
	Website string  `v:"required"`
	City string     `v:"required"`
	Size string     `v:"required"`
	Contact string  `v:"required"`
	Logo string     `v:"required"`
}
type CompanyUpReq struct {
	g.Meta   `path:"/company/{Company_id}" method:"patch" tags:"CompanyService" summary:"更新特定公司的信息"`
	Company_id       uuid.UUID       `v:"required" in:"path"`
	Name string      `v:"required"`
	Description string  `v:"required"`
	Industry string     `v:"required"`
	Tag string      `v:"required"`
	Address string  `v:"required"`
	Website string  `v:"required"`
	City string     `v:"required"`
	Size string     `v:"required"`
	Contact string  `v:"required"`
	Logo string     `v:"required"`
}
type CompanyMeReq struct {
	g.Meta   `path:"/company/me" method:"get" tags:"CompanyService" summary:"检索认证用户公司的信息"`
}

type CompanyMeUpReq struct {
	g.Meta   `path:"/company/me" method:"patch" tags:"CompanyService" summary:"更新认证用户公司的信息"`
	Name string      `v:"required"`
	Description string  `v:"required"`
	Industry string     `v:"required"`
	Tag string      `v:"required"`
	Address string  `v:"required"`
	Website string  `v:"required"`
	City string     `v:"required"`
	Size string     `v:"required"`
	Contact string  `v:"required"`
	Logo string     `v:"required"`
}
type CompanyMeDeleReq struct {
	g.Meta   `path:"/company/me" method:"delete" tags:"CompanyService" summary:"删除公司账号"`
}
type CompanySubscriptionReq struct {
	g.Meta   `path:"/company/subscription/me" method:"get" tags:"CompanyService" summary:"检索认证用户的付费订阅详情"`
}
type CompanySubscriptionPostReq struct {
	g.Meta   `path:"/company/subscription" method:"post" tags:"CompanyService" summary:"添加用户付费订阅"`
	Company_plan  string      `v:"required"`
	Status string      `v:"required"`
	Expiry string      `v:"required"`
}
type CompanySubscriptionUpReq struct {
	g.Meta   `path:"/company/subscription" method:"patch" tags:"CompanyService" summary:"更新特定的用户付费订阅"`
	Company_plan  string      `v:"required"`
	Status string      `v:"required"`
	Expiry string      `v:"required"`
}
type CompanyRes struct{
	*entity.Company
}

type CompanyMeRes struct{
	*entity.Company
}

type CompanySubscriptionRes struct{
	*entity.Subscription
}

type CompanyMeDeleRes struct{
}

type CompanySubscriptionUpRes struct{
}

type CompanyUpRes struct{
}

type CompanyPostRes struct{
}

